package com.kelvem.saas.workbanch.core.manager.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.kelvem.saas.workbanch.fsm.entity.Entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.List;

/**
 * 实体表数据对象
 *
 * @author kelvem
 * @version 1.0
 */
@TableName("meta_table")
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class MetaTableEntity extends Entity {

    /**
     * 实体表英文名
     */
    private String tableEnName;

    /**
     * 实体表中文名
     */
    private String tableChName;

    /**
     * 实体表类型, entity:实体; table:表;
     */
    private String tableType;

    /**
     * 实体表来源, system:系统; manual:人工; copy:拷贝;
     */
    private String tableSource;

    /**
     * 实体名称
     */
    private String entityName;

    /**
     * 实体表状态, pending:新建; created:表创建; fix:固定;
     */
    private String state;

    /**
     * 父表id
     */
    private Long parentMetaTableId;

    /**
     * 备注
     */
    private String memo;
    
    /**
     * 实体表字段列表
     */
    @TableField(exist = false)
    private List<MetaTableColumnEntity> metaTableColumnList;
    
    /**
     * 实体表事件列表
     */
    @TableField(exist = false)
    private List<MetaTableActionEntity> metaTableActionList;


}
